local string_util = {}

-- 字符串分割
-- param1：要分割的字符串
-- param2：以“delimiter”代表的符号进行分割
-- result：返回table
function string_util.split(str, delimiter)
    local dLen = string.len(delimiter)
    local newDeli = ""
    for i = 1, dLen, 1 do
        newDeli = newDeli .. "[" .. string.sub(delimiter, i, i) .. "]"
    end

    local locaStart, locaEnd = string.find(str, newDeli)
    local arr = {}
    local n = 1
    while locaStart ~= nil do
        if locaStart > 0 then
            arr[n] = string.sub(str, 1, locaStart - 1)
            n = n + 1
        end

        str = string.sub(str, locaEnd + 1, string.len(str))
        locaStart, locaEnd = string.find(str, newDeli)
    end
    if str ~= nil then
        arr[n] = str
    end
    return arr
end

-- 查看当前字符串是否以某个子字符串开头
-- 把 str1 和 str2 进行比较，最多比较前 len 个字符   如果返回值 = 0，则表示 str1 等于 str2。
function string_util.strncmp(str1, str2, len)
    local tmpStr = string.sub(str1, 1, len)
    if tmpStr ~= nil and tmpStr == str2 then
        return 0
    end
    return -1
end

-- 把字符串转换为字符(number类型)数组
function string_util.str2charArray(str)
    t = {}
    for i = 1, string.len(str) do
        table.insert(t, string.byte(string.sub(str, i, i)))
    end
    return t
end

-- 把字符串转换为字符串(string类型，长度为1)数组
function string_util.str2strArray(str)
    t = {}
    for i = 1, string.len(str) do
        table.insert(t, string.sub(str, i, i))
    end
    return t
end

return string_util
